The speed at which a system can write data to persistent storage and read data from persistent storage is often a critical factor in the overall performance of the system. The traditional approach to reading data from and writing data to persistent storage requires processing by multiple layers in the system kernel and by multiple entities in the hardware. As a result, reading data from and writing data to persistent storage introduces significant latency in the system and, consequently, reduces the overall performance of the system.
In addition, data stored in a solid state storage device is in a form of a data block. Each data block includes multiple data pages. Each data page includes multiple frags (e.g., data fragments or data chunks). For each of the frags, a table of contents (TOC) entry is constructed, where the TOC entry includes information describing the corresponding frag. In addition to the TOC pages stored on a storage device, a storage system may construct an in-memory flash translation layer (FTL) map, allowing the storage system to rapidly determine a storage location of a frag without referring to the TOC entry stored on the storage device. The operations constructing a TOC page may consume relatively high processing resources and time. In a multiprocessing storage system, multiple components may have to maintain its own copy of the FTL map. Keeping multiple copies of an FTL map synchronized may significantly increase the time and resources required to store data.